#ifndef __OBJECT_H__
#define __OBJECT_H__

#include <stdio.h>
#include <stdbool.h>

void object_deep_set(void *obj, const char *name, void *value);
void objects_set_value(void *obj, const char *name, void *value);
int object_print(void *obj);
int object_print_delim(void *obj, int delim);
void *object_add_end(void *start, void *end);
void *objects_get_object(void *obj, const char *name, void * value);
void *object_from_keys_value(void *obj,
    const char *name1, void * value1, const char *name2, void * value2);
bool object_is_collector(void *obj);
bool object_is_push(void *obj);
bool object_is_controled(void *obj);
int object_get_brother_num(void *obj);
int object_get_son_num(void *obj);
int object_get_grandson_num(void *obj);
#endif //__OBJECT_H__

